package thinking

object 封装特性 {
  def main(args: Array[String]): Unit = {


  }

  /**
   * 默认会生成属性的getter 和 setter方法, 如果属性不声明访问权限,那么默认生成的 get set 就是public 访问权限,
   * 如果 属性声明为private 那么生成get set 就是私有的
   * 并且属性没有public访问权限,编译都是私有的,只能通过自动生成的get set 去访问或者修改
   *
   * 访问的时候 使用对象.属性, 并不是直接去访问属性,背后scala其实是去调用的 get .set 等方法,如果想要使用类似java的访问
   * 风格,可以使用注解 @beanProperty 标注属性,这就就可以使用 对象.getXXX,对象.setXXX方法使用
   */
  class Cat {
    var name: String = _
    private var age: Int = _

  }

}
